A significant amount of interest has recently been paid to channel coding. For example a recent authoritative text states: xe2x80x9cChannel coding refers to the class of signal transformations designed to improve communications performance by enabling the transmitted signals to better withstand the effects of various channel impairments, such as noise, interference, and fading. These signal-processing techniques can be thought of as vehicles for accomplishing desirable system trade-offs (e.g., error-performance versus bandwidth, power versus bandwidth). Why do you suppose channel coding has become such a popular way to bring about these beneficial effects? The use of large-scale integrated circuits (LSI) and high-speed digital signal processing (DSP) techniques have made it possible to provide as much as 10 dB performance improvement through these methods, at much less cost than through the use of most other methods such as higher power transmitters or larger antennas.xe2x80x9d From xe2x80x9cDigital Communicationsxe2x80x9d Fundamentals and Applications Second Edition by Bernard Sklar, page 305 (copyright) 2000 Prentice Hall PTR.
There are multiple modern decoding methods that involve iterative probabilistic decoding methods. Among the list of iterative probabilistic methods are methods such as MAP decoding, soft output Viterbi decoding and others. Because of the use of iterative decoding techniques, there is a need for improved iterative decoding methods in the art.
In a first aspect of the invention a method of generating a stopping criteria for an iterative decoder is disclosed. The method includes, performing an Nth iteration of decoding, forming a signature from extrinsic values of the Nth iteration, comparing the signature of the Nth iteration to a signature of the Nxe2x88x921st iteration and stopping the process of iteration decoding if the signature of the Nxe2x88x921st iteration is equal to the signature of the Nth iteration.
In a second aspect of the invention a method of generating a stopping criteria for an iterative decoder is disclosed. The method includes performing an Nth iteration of decoding, forming a signature from extrinsic values of the Nth iteration, comparing the signature of the Nth iteration to a signature of the Nxe2x88x922 iteration and stopping the process of iteration decoding if the signature of the Nxe2x88x922 iteration is equal to the signature of the Nth iteration.
In a third aspect of the invention a method of generating a stopping criteria for an iterative decoder is disclosed. The method includes, determining the variance (VARk) of extrinsic information on a k""th iteration of the iterative decoder and halting the decoder if VARk less than T1, where T1 is a first threshold and Dk (Differential Variance) less than T2, where T2 is a second threshold.
In a fourth aspect of the invention a method of determining a threshold T1 for a particular encoding is disclosed. The method includes selecting a value for Eb/N0, creating a signal having the particular encoding, adding a noise vector to the signal to create a corrupted signal, iteratively decoding the corrupted signal until the iteration converges and assigning a value less than VARk to T1.